Automation is widely deployed in numerous systems that are ubiquitous in our society. These systems include but are not limited to door access systems employing card readers, environmental control systems for a building, and numerous sensing systems that are deployed on a manufacturing line of various products. An important aspect of automation is the ability of a system to make predefined decisions and then performed associated actions based upon receiving certain predefined inputs. For example, swiping a proper identification card through a card reader will open a door for a user.
In traditional systems, the automated tasks are typically performed by a local or field hardware device, e.g., a field controller. Namely, inputs are processed locally by a field controller to determine whether an action is to be performed. Such decentralized use of a field controller is inexpensive and easy to deploy.
However, the functions and parameters of such field controller are often implemented via firmware, i.e., permanently burned onto a hardware device. Thus, if the functions and parameters of the field controller are to be changed, the field controller must be removed and replaced or shipped to the manufacturer to be reprogrammed. In practice, the field controller may be updated for only one or a few new functions that are newly applied. Nevertheless, once the field controller is reprogrammed, the manufacturer must again conduct extensive testing on the field controller to verify that it is performing properly as to the new functions plus all the old functions as well. This necessity is based on the fact that the entire firmware must again be loaded onto the field controller. To ensure that the entire firmware is performing properly, the manufacturer must now perform testing on old functions as well as to ensure that the reprogramming did not introduce errors into the old functions. Therefore, the implementation of decentralized field controllers may actually increase cost over time to the users and manufacturers as new functionalities are introduced.
Thus, it would be very desirable to have a system and method that is designed to provide updates to a field controller without having to generate new firmware for the field controller.